/* 封装axios用于发送请求 */
import axios from 'axios'
import { showLoadingToast, showToast, closeToast } from 'vant'
import { useUserStore } from '@/stores/modules/user'


// 创建一个新的axios实例
const request = axios.create({
  baseURL: 'http://localhost:8080',
  timeout: 5000
})

// 添加请求拦截器
request.interceptors.request.use(function (config) {

  
  showLoadingToast({
    message: '请求中...',
    forbidClick: true,
    loadingType: 'spinner',
    duration: 0
  });
  const token = useUserStore().token
  console.log("请求所携带的" + token)
  config.headers['token'] = token
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

// 添加响应拦截器
request.interceptors.response.use(function (response) {
  const res = response.data
  if (res.code !== 1) {
    showToast("请求失败")
    return Promise.reject(res.message)
  } else {
    // 清除 loading 中的效果
    console.log("请求结束了")
    closeToast()
  }
  // 对响应数据做点什么
  return res
}, function (error) {
  // 对响应错误做点什么
  
  return Promise.reject(error)
})

export default request